Software applications, components of applications, software platforms, and/or other software entities are often configured to expose an application programming interfaces (API) that may enable other entities (e.g., other programs, components, scripts, etc.) to interact with the API-exposing entity. An API may essentially outline the vocabulary and/or calling conventions that others should employ in order to use the software services offered by the software entity. For example, an API may expose various functions provided by a software platform that an application may invoke. If a software entity attempts to invoke a function not exposed by the API, an error may occur, such as a compilation or runtime error.
In practice, a software entity's API often evolves with subsequent versions. For example, subsequent versions of a software platform may provide more and/or better functionality through a modified API. However, if the new API does not provide, for example, the same methods as the old API, then some software applications and/or components that were configured to interface with the old API may malfunction when the newer version is introduced. Therefore, when releasing a new version of an API, it may be desirable to determine whether the new version is backwards compatible with an older version.